Implementing Flexible Computation Rules with Subexpression-level Loop Transformation

نویسندگان

  • Dattatraya Kulkarni
  • Michael Stumm
  • Ronald C. Unrau
چکیده

Computation Decomposition and Alignment (CDA) is a new loop transformation framework that extends the linear loop transformation framework and the more recently proposed Computation Alignment frameworks by linearly transforming computations at the granularity of subexpressions. It can be applied to achieve a number of optimization objectives, including the removal of data alignment constraints, the elimination of ownership tests, the reduction of cache connicts, and improvements in data access locality. In this paper we show how CDA can be used to eeectively implement exible computation rules with the objective of minimizing communication and, whenever possible, eliminating intrinsics that test whether computations need to be executed or not. We describe CDA, show how it can be used to implement exible computation rules, and present an algorithm for deriving appropriate CDA transformations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

P-computes : a Flexible Computation Rule and Its Implementation by Explicit Computation Movement

We present a loop transformation framework that operates at a granularity much smaller than the existing transformation frameworks. Computation decomposition divides a loop body into subcomputations down to the level of subexpressions; and computation alignment linearly transforms them separately and independently. Together they redeene iterations and reorganize them in the iteration space. Thi...

متن کامل

Maximally Fast and Arbitrarily Fast Hardware Efficient Implementation of Linear and Feedback Linear Computations1

By establishing a relationship between the basic properties of linear computations (additivity and homogeneity) and eight optimizing transformations (distributivity, associativity, commutativity, inverse and zero element law, common subexpression replication and elimination and constant propagation), a CAD platform is developed to optimally speed-up an arbitrary instance from this large class o...

متن کامل

Certification of Compiler Optimizations Using Kleene Algebra with Tests

We use Kleene algebra with tests to verify a wide assortment of common compiler optimizations, including dead code elimination, common subexpression elimination, copy propagation, loop hoisting, induction variable elimination, instruction scheduling, algebraic simplification, loop unrolling, elimination of redundant instructions, array bounds check elimination, and introduction of sentinels. In...

متن کامل

Developing Reliable yet Flexible Software through If-Then Model Transformation Rules

Developing reliable yet flexible software is a hard problem. Although modeling methods enjoy a lot of advantages, the exclusive use of just one of them, in many cases, may not guarantee the development of reliable and flexible software. Formal modeling methods ensure reliability because they use a rigorous approach to software development. However, lack of knowledge and high cost practically fo...

متن کامل

Common Subexpressions Are Uncommon in Lazy Functional Languages

Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding the repetition of the same computation. In lazy functional languages, referential transparency renders the identification of common subexpressions very simple. More common subexpressions can be recognised because they can be of arbitrary type whereas standard common subexpression elimination only ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995